Version | ID |
---|---|
1.8.X | 0x22 |
1.9 | 0x10 |
1.13.1 | 0x0F |
1.15.2 | 0x10 |
1.16.2 | 0x10 0x3B |
Packet ID | State | Bound To | Field Name | Field Type | Notes |
---|---|---|---|---|---|
Play | Client | Long | Chunk section coordinate (encoded chunk x and z with each 22 bits, and section y with 20 bits, from left to right) | ||
Boolean | Always inverse the preceding Update Light packet's "Trust Edges" bool | ||||
Array size | VarInt | Number of elements in the following array | |||
Array of VarLong | Each entry is composed of the block id, shifted right by 12, and the relative block position in the chunk section (4 bits for x, z, and y, from left to right). |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x10 | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | Y coordinate of the block | |||||
Block ID | VarInt | The new block state ID for the block as given in the global palette. See that section for more information. |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x0F | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | Y coordinate of the block | |||||
Block ID | VarInt | The new block state ID for the block as given in the global palette. See that section for more information. |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x0F | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | Y coordinate of the block | |||||
Block ID | VarInt | The new block state ID for the block as given in the global palette. See that section for more information. |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x0F | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | Y coordinate of the block | |||||
Block ID | VarInt | The new block state ID for the block as given in the global palette. See that section for more information. |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x10 | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | Y coordinate of the block | |||||
Block ID | VarInt | The new block state ID for the block as given in the global palette (When reading data: type = id >> 4 , meta = id & 15 , when writing data: id = type << 4 | (meta & 15) ) |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x10 | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | Y coordinate of the block | |||||
Block ID | VarInt | The new block state ID for the block as given in the global palette (When reading data: type = id >> 4 , meta = id & 15 , when writing data: id = type << 4 | (meta & 15) ) |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x10 | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | Y coordinate of the block | |||||
Block ID | VarInt | The new block state ID for the block as given in the global palette (When reading data: type = id >> 4 , meta = id & 15 , when writing data: id = type << 4 | (meta & 15) ) |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x10 | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | Y coordinate of the block | |||||
Block ID | VarInt | The new block state ID for the block as given in the global palette (When reading data: type = id >> 4 , meta = id & 15 , when writing data: id = type << 4 | (meta & 15) ) |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x10 | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | Y coordinate of the block | |||||
Block ID | VarInt | The new block state ID for the block as given in the global palette (When reading data: type = id >> 4 , meta = id & 15 , when writing data: id = type << 4 | (meta & 15) ) |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x10 | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | Y coordinate of the block | |||||
Block ID | VarInt | The new block state ID for the block as given in the global palette (When reading data: type = id >> 4 , meta = id & 15 , when writing data: id = type << 4 | (meta & 15) ) |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x10 | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | Y coordinate of the block | |||||
Block ID | VarInt | The new block state ID for the block as given in the global palette (When reading data: type = id >> 4 , meta = id & 15 , when writing data: id = type << 4 | (meta & 15) ) |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x10 | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | Y coordinate of the block | |||||
Block ID | VarInt | The new block state ID for the block as given in the global palette (When reading data: type = id >> 4 , meta = id & 15 , when writing data: id = type << 4 | (meta & 15) ) |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x10 | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | Y coordinate of the block | |||||
Block ID | VarInt | The new block state ID for the block as given in the global palette (When reading data: type = id >> 4 , meta = id & 15 , when writing data: id = type << 4 | (meta & 15) ) |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x10 | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | Y coordinate of the block | |||||
Block ID | VarInt | The new block state ID for the block as given in the global palette (When reading data: type = id >> 4 , meta = id & 15 , when writing data: id = type << 4 | (meta & 15) ) |
Packet ID | State | Bound To | Field Name | Field Type | Notes | ||
---|---|---|---|---|---|---|---|
0x22 | Play | Client | Chunk X | Int | Chunk X coordinate | ||
Chunk Z | Int | Chunk Z coordinate | |||||
Record Count | VarInt | Number of elements in the following array, i.e. the number of blocks affected | |||||
Record | Horizontal Position | Array | Unsigned Byte | The 4 most significant bits (0xF0 ) encode the X coordinate, relative to the chunk. The 4 least significant bits (0x0F ) encode the Z coordinate, relative to the chunk. |
|||
Y Coordinate | Unsigned Byte | ||||||
Block ID | VarInt | The new block state ID for the block as given in the global palette (When reading data: type = id >> 4 , meta = id & 15 , when writing data: id = type << 4 | (meta & 15) ) |